package com.nbcio.im.core.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nbcio.im.core.ImFriend;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * IM好友Mapper接口
 *
 * @author nbacheng
 */
@Mapper
public interface ImFriendMapper extends BaseMapper<ImFriend> {
    
    /**
     * 获取用户好友列表
     *
     * @param userId 用户ID
     * @param tenantId 租户ID
     * @return 好友列表
     */
    List<ImFriend> selectFriendList(@Param("userId") Long userId, 
                                   @Param("tenantId") String tenantId);
    
    /**
     * 检查是否为好友
     *
     * @param userId 用户ID
     * @param friendUserId 好友用户ID
     * @param tenantId 租户ID
     * @return 好友关系
     */
    ImFriend selectFriendRelation(@Param("userId") Long userId, 
                                 @Param("friendUserId") Long friendUserId,
                                 @Param("tenantId") String tenantId);
    
    /**
     * 获取好友数量
     *
     * @param userId 用户ID
     * @param tenantId 租户ID
     * @return 好友数量
     */
    Integer selectFriendCount(@Param("userId") Long userId, 
                             @Param("tenantId") String tenantId);
}
